package com.psychologyCommunity.Community.event;

import com.alibaba.fastjson.JSONObject;
import com.psychologyCommunity.Community.entity.Event;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Component;
//这个bean需要交给容器管理
@Component
public class EventProducer {
 //生产者要主动去发送消息，依赖 kafkaTemplate
    @Autowired
    private KafkaTemplate kafkaTemplate;
    //处理事件 ，当外界调用处理事件的方法时，需要把事件对象传进来，只有调用放才知道 需要什么事件以及事件的信息
    public void fireEvent(Event event){
        //将事件发布到指定的主题 //发的消息的数据时JSON格式的
        kafkaTemplate.send(event.getTopic(), JSONObject.toJSONString(event));

    }
}
